
FORTRAN interface for PVM
01 Oct 1992

________________________________________________________________________
This directory contains source for a FORTRAN interface library to PVM.
To build the library, run 'aimk' in this directory.  This should build
ARCH/libfpvm.a, where ARCH is the PVM name for the machine class.

To use libfpvm, compile and link your fortran program with it and the C
library, libpvm, for example:

        f77 -o foo foo.f ../libfpvm/ARCH/libfpvm.a ../src/ARCH/libpvm.a

FORTRAN routines have (mostly) the same names as the C routines, with a
leading 'f'.  They are called as subroutines and so have an extra arg
for the return value.

For example, the C send call is:
        int cc = snd(proc, instance, msgid)

and the FORTRAN one is:
        call fsnd(proc, instance, msgid, icc)

The following table gives the appropriate names for the most common
mapping of FORTRAN data types into PVM pack/unpack calls:

        fortran name    put, get...
        ____________    __________
        LOGICAL         int
        CHARACTER       string, bytes
        INTEGER         int
        INTEGER*2       short
        REAL            float
        REAL*8          dfloat  [1]
        COMPLEX         cplx
        COMPLEX*16      dcplx   [1]

[1] On Crays, C reals, C doubles, and Fortran reals are the same size
    so I guess you can't pack Fortran doubles.

